#ifndef CSE220_project3_Literal_h
#define CSE220_project3_Literal_h

using namespace std;
#include "common.h"

class Literal
{
public:
    Literal(LiteralType);
    void SetValue(int);
    void SetValue(float);
    void SetValue(string);
    string GetStringValue();
    int GetIntValue();
    float GetFloatValue();
    LiteralType GetType();
    ~Literal();
    
private:
    LiteralType type;
    union
    {
        int integer;
        float real;
        char str[MAX_SOURCE_LINE_LENGTH];
    }
    value;
};

#endif
